package com.hfdg.coordination.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hfdg.prototype.base.utils.TimeUtils;
import com.hfdg.coordination.mapper.CoordItemMapper;
import com.hfdg.coordination.entity.CoordItem;
import com.hfdg.coordination.service.CoordItemService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.UUID;

/**
 * @ClassName CoordItemServiceImpl
 * @Description CoordItem,主要对CoordItem类型数据的业务服务操作实现类
 * @Company 会飞的锅工作室
 * @Author yuelh
 * @Email 18695867679@163.com
 * @Date 2020/05/18 07:02:30
 * @Version 1.0
 **/
@Service
public class CoordItemServiceImpl implements CoordItemService {
    @Autowired
    CoordItemMapper coordItemMapper;
    @Override
    public String insert(CoordItem coordItem) {
        String uid = UUID.randomUUID().toString();
        coordItem.setUid(uid);
        coordItem.setDelFlag("0");
        coordItem.setCreateTime(new Date());
        coordItemMapper.insert(coordItem);
        return uid;
    }

    @Override
    public Integer update(CoordItem coordItem) {
        coordItem.setUpdateTime(new Date());
        return coordItemMapper.update(coordItem);
    }

    @Override
    public Integer  delete(String uid) {
        return coordItemMapper.delete(uid);
    }
    @Override
    public Integer batchDelete(String[] uids) {
            return coordItemMapper.batchDelete(uids);
    }

    @Override
    public CoordItem get(String uid) {
        return coordItemMapper.get(uid);
    }

    @Override
    public List<CoordItem> list(CoordItem coordItem) {
    return  coordItemMapper.list(coordItem);
    }

    @Override
    public PageInfo<CoordItem> getPagingData(int offset, int limit,String orderBy, CoordItem coordItem) {
        if(null==orderBy|| StringUtils.isBlank(orderBy)){
        PageHelper.startPage((offset/limit)+1,limit);
        }else{
        PageHelper.startPage((offset/limit)+1,limit,orderBy);
        }
        PageInfo<CoordItem> pageInfo =new PageInfo<>(coordItemMapper.list(coordItem));
            return pageInfo;
            }
    @Override
    public String insertOrUpdate(CoordItem coordItem){
        if(null!=coordItem.getUid()){
            this.update(coordItem);
        }else{
            this.insert(coordItem);
        }
        return coordItem.getUid();
    }
            }
